package mains;

import cartes.Carte;
import cartes.Denomination;

import java.util.Iterator;

public class Quinte extends AbstractAnalyseurRang 
{
	@Override
	public boolean reconnaitreMain(ReqAnalyseMain ram) 
	{
        Iterator<Carte> it = ram.getMain().iterator();
        Main main = ram.getMain();
        boolean contientAs = false;
        
        while(it.hasNext() && !contientAs){
        	Carte c = it.next();
        	contientAs = c.getDenomination().equals(Denomination.AS);
        }
        
        if(!contientAs){
        	return estEnSerie(main) && !estMemeCouleur(main);
        }else{
        	if(estEnSerie(main)) // Si on a le cas de 10/V/D/R/AS
        		return true;
            }
        
        //Pour le cas de 2/3/4/5/AS, la somme de la suite devrait donner le nombre de carte dans la main
        int resultat = 1;
    	it = main.iterator();
    	Carte c = it.next();
    	Denomination d = c.getDenomination();
        while(it.hasNext())
        {
            c = it.next();
            if(c.getDenomination().compareTo(d) == 1) //Une suite +1
            {
                d = c.getDenomination();
                resultat++;
            }else if(c.getDenomination().equals(Denomination.AS)){
            	resultat++;
            }else{
            	return false;
            }
        }
        
        return resultat == main.size();
	}
}
